/********************************** (C) COPYRIGHT *******************************
* File Name          : fiter.h
* Author             : nx666
* Version            : V1.0.0
* Date               : 2023/10/22
* Description        : fiter接口在这里声明
*******************************************************************************/
#ifndef __FITER_H
#define __FITER_H

#ifdef __cplusplus
extern "C" {
#endif

#include "common_type.h"
#include "module_config.h"

/**********************************宏定义区******************************/


/******************************* *类型定义区******************************/
typedef struct movingAverage
{
    /* ---->都为iq8<--------*/
    _iq window_size;         //窗口大小
    _iq ave;                 //平均值
    _iq k;                   //计算平均的系数
    _iq k0;                   //计算平均的系数
    _iq isFirst;              //第一次计算？
    _iq (*update)(struct movingAverage *,_iq data);
}FITER_movingAverage_;




 /*********************************************************************
 * @fn      create_movingAverage
 *
 * @brief   滑动平均滤波器构造函数，
 *              window_size 窗口大小
 *
 * @return  smo_ *，成功  NULL，失败
 *          
 */
FITER_movingAverage_ *create_movingAverage(_iq window_size);

#ifdef __cplusplus
}
#endif

#endif /*__PID_H */